package com.cloudlead.plugin.scheduler.query;

import static com.mysema.query.types.PathMetadataFactory.*;

import com.cloudlead.plugin.scheduler.entity.EScheduleJob;
import com.cloudlead.plugin.scheduler.entity.EScheduleJobParams;


import com.mysema.query.types.path.*;

import com.mysema.query.types.PathMetadata;
import javax.annotation.Generated;
import com.mysema.query.types.Path;

import com.mysema.query.sql.ColumnMetadata;
import java.sql.Types;

import com.mysema.query.sql.*;

import com.cloudlead.common.lang.annotation.Label;


/**
 * QScheduleJobParams is a Querydsl query type for EScheduleJobParams
 */
@Label("计划任务参数查询")
@Generated("com.cloudlead.utils.persistence.codegen.serializer.SimpleMetaDataSerializer")
public class QScheduleJobParams extends RelationalPathBase<EScheduleJobParams> {

    private static final long serialVersionUID = 381992519;

    public static final QScheduleJobParams scheduleJobParams = new QScheduleJobParams("schedule_job_params");

    public class PrimaryKeys {

        public final PrimaryKey<EScheduleJobParams> primary = createPrimaryKey(id);

    }

    public class ForeignKeys {

        public final ForeignKey<EScheduleJob> jobParamsJob1Fk = createForeignKey(jobId, "id");

    }

    public final StringPath id = createString("id");

    public final StringPath jobId = createString("jobId");

    public final NumberPath<Integer> paramIndex = createNumber("paramIndex", Integer.class);

    public final StringPath paramType = createString("paramType");

    public final StringPath paramValue = createString("paramValue");

    public final PrimaryKeys pk = new PrimaryKeys();

    public final ForeignKeys fk = new ForeignKeys();

    public QScheduleJobParams(String variable) {
        super(EScheduleJobParams.class, forVariable(variable), "null", "schedule_job_params");
        addMetadata();
    }

    public QScheduleJobParams(String variable, String schema, String table) {
        super(EScheduleJobParams.class, forVariable(variable), schema, table);
        addMetadata();
    }

    public QScheduleJobParams(Path<? extends EScheduleJobParams> path) {
        super(path.getType(), path.getMetadata(), "null", "schedule_job_params");
        addMetadata();
    }

    public QScheduleJobParams(PathMetadata<?> metadata) {
        super(EScheduleJobParams.class, metadata, "null", "schedule_job_params");
        addMetadata();
    }

    public void addMetadata() {
        addMetadata(id, ColumnMetadata.named("id").withIndex(1).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(jobId, ColumnMetadata.named("job_id").withIndex(2).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(paramIndex, ColumnMetadata.named("param_index").withIndex(4).ofType(Types.INTEGER).withSize(10).notNull());
        addMetadata(paramType, ColumnMetadata.named("param_type").withIndex(5).ofType(Types.CHAR).withSize(7).notNull());
        addMetadata(paramValue, ColumnMetadata.named("param_value").withIndex(3).ofType(Types.LONGVARCHAR).withSize(2147483647).notNull());
    }

}

